Proof Abstraction for Imperative Languages
نویسنده
چکیده
Modularity in programming language semantics derives from abstracting over the structure of underlying denotations, yielding semantic descriptions that are more abstract and reusable. One such semantic framework is Liang’s modular monadic semantics in which the underlying semantic structure is encapsulated with a monad. Such abstraction can be at odds with program verification, however, because program specifications require access to the (deliberately) hidden semantic representation. The techniques for reasoning about modular monadic definitions of imperative programs introduced here overcome this barrier. And, just like program definitions in modular monadic semantics, our program specifications and proofs are representation-independent and hold for whole classes of monads, thereby yielding proofs of great generality.
منابع مشابه
Formal Verification of a Memory Model for C-Like Imperative Languages
This paper presents a formal veri cation with the Coq proof assistant of a memory model for C -like imperative languages. This model de nes the memory layout and the operations that manage the memory. The model has been speci ed at two levels of abstraction and implemented as part of an ongoing certi cation in Coq of a moderatelyoptimising C compiler. Many properties of the memory have been ver...
متن کاملAlgol-like Language
We present a denotational semantics for an Algol-like language Alg, which is fully abstract for the second order subset of Alg. This constitutes the rst signiicant full abstraction result for a block structured language with local variables. As all the published`test equivalences' 13, 8, 23] for Algol-like languages are contained in the second order subset, they can all be validated (easily) in...
متن کاملFull Abstraction for the Second Order Subset of an Algol-Like Language
We present a denotational semantics for anAlgol like languageAlg which is fully abstract for the second order subset of Alg This constitutes the rst signi cant full abstraction result for a block structured language with local variables As all the published test equivalences for Algol like languages are contained in the second order subset they can all be validated easily in our denotational mo...
متن کاملGuaranteed Optimization: Proving Nullspace Properties of Compilers
Writing performance-critical programs can be frustrating because optimizing compilers for imperative languages tend to be unpredictable. For a subset of optimizations – those that simplify rather than reorder code – it would be useful to prove that a compiler reliably performs optimizations. We show that adopting a “superanalysis” approach to optimization enables such a proof. By analogy with l...
متن کاملFully Normalizing Lambda Calculus Machines
Almost all implementations of functional languages known today realize a weakly (head) normalizing λ-calculus which rules out substitutions and reductions under abstractions, restricting what can be computed with these languages basically to ground terms, which is what can be accomplished with imperative languages as well. One could be content with this situation, arguing that for the majority ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006